<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Language"    content="en">
   <meta http-equiv="Content-Script-Type" content="text/javascript">
   <meta http-equiv="Content-Type"        content="text/html;charset=UTF-8">

   <title>..::[  Ajile Overview  ]::..</title>

   <meta name="Description" content="Overview :: Ajile - Advanced JavaScript Importing &amp; Loading Extension">
   <meta name="Keywords"    content="Ajile,AJILE,JavaScript inject,JavaScript include,JavaScript Namespace,JavaScript Namespacing,Javascript Import,JavaScript On-Demand,JavaScript Package,JavaScript Packaging,Unobtrusive JavaScript,namespace,package,import,include,use,require,ajax,JSPackaging,JSLoad,JSPackage,JSImport">
   <meta name="copyright"   content="Copyright &copy; 2003-2012 Michael Lee, http://ajile.net/">

   <link type="image/ico" rel="icon"          href="http://ajile.sourceforge.net/favicon.ico">
   <link type="image/ico" rel="shortcut icon" href="http://ajile.sourceforge.net/favicon.ico">
   <link type="text/css"  rel="stylesheet"    href="iskitz-content.css" title="iSkitz Content">
</head>
<body>
<p>
Ajile 1.2.1<br><br>

Copyright (c) 2003-2012 Michael Lee, ajile.net<br><br>
All rights reserved.<br><br>

URL: <a href="http://ajile.net/">http://ajile.net/</a>
</p>
<br>
<hr><h1>Description</h1><hr>
<p>
<b title='AJILE reads as "agile"'>AJILE</b>, the <b><u>A</u></b>dvanced <b><u>J</u></b>avaScript&nbsp;
<b><u>I</u></b>mporting &amp; <b><u>L</u></b>oading <b>E</b>xtension brings
<b>immediate</b> support for
<a href="api/Directives.htm#Load">load</a>,
<a href="api/Directives.htm#Import">import</a>,
<a href="api/Directives.htm#Include">include</a> and
<a href="api/Directives.htm#Namespace">namespace</a> to a wide variety of
JavaScript-enabled browsers.
<br><br>
<b>Ajile</b> simplifies and enhances web development by supporting 
<a href="api/Options.htm#refresh">efficient</a>,
<a href="api/Directives.htm#ImportAs">interoperable</a>, and
<a href="api/Options.htm#mvc">unobtrusive</a> JavaScript. Developers will also
find help protecting their code's
<a href="http://en.wikipedia.org/wiki/Intellectual_property">intellectual property</a>
via <b>Ajile's</b> configurable
<a href="api/Options.htm#cloak">runtime source-code cloaking</a>.
<br><br>
As the name implies, <b>Ajile</b> can be used to make web sites and applications
fast and responsive via highly interoperable scripts capable of loading and
importing functionality as needed.
</p>
<hr><h1>Features</h1><hr>
<ul>
   <li>Asynchronous script loading from <u><abbr title="Ajile is free of XMLHttpRequest's Same Origin Policy restriction.">any</abbr></u> location.</li>
   <li><a href="api/Options.htm#mvc">Unobtrusive scripting</a> via <a href="http://www.wikipedia.org/wiki/Model-view-controller"><abbr title="Model View Controller">MVC</abbr></a>-styled page/script separation.</li>
   <li>Configurable auto-loading of site and per-page scripts.</li>
   <li>Namespace support to encapsulate &amp; uniquely identify functionality.</li>
   <li>Namespace &amp; module including for full-name access.</li>
   <li>Namespace &amp; module importing for short-name access.</li>
   <li>Namespace &amp; module importing with aliases.</li>
   <li>Namespace &amp; module importing with versioning.</li>
   <li>Automatic path resolution for namespaced modules.</li>
   <li>Dependency Definition with runtime enforcement.</li>
   <li>Import notification via event listening.</li>
   <li>Flexible packaging via namespaced files and/or structured directories.</li>
   <li>Load-time &amp; runtime cache management.</li>
   <li>Load-time &amp; runtime name collision management.</li>
   <li>Load-time &amp; runtime source code cloaking.</li>
</ul>

<hr><h1>Target Environment</h1><hr>
Supported Browsers:
<ul>
	<li><u>Desktop:</u>
		<ul>
         <li>Camino    1.0.1+</li>
         <li>Chrome    (All)</li>
         <li>Firefox   (All)</li>
         <li>iCab      3.0.3+</li>
         <li>IE        4.01+</li>
         <li>Mozilla   0.9.1+</li>
         <li>Netscape  6.1+</li>
         <li>OmniWeb   5.6+</li>
			<li>Opera     5+</li>
			<li>Safari    1.2+</li>
			<li>SeaMonkey 1.0+</li>
			<li>Microsoft HTML Applications (HTAs)</li>
		</ul>
	</li>
</ul>
<ul>
	<li><u>Mobile:</u>
		<ul>
			<li>Safari on iPhone</li>
			<li>Blazer 3.0 on Treo 600</li>
			<li>Opera Mini 2.0+</li>
		</ul>
	</li>
</ul>
Supported Specifications:
<ul>
<li><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMA-262</a>, <a href="http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf">Edition 3</a>+
<li><a href="https://developer.mozilla.org/en/JavaScript">JavaScript</a> <a href="https://developer.mozilla.org/en/JavaScript/New_in_JavaScript/1.3">1.3</a>+
<li><a href="http://msdn.microsoft.com/en-us/library/hbxc2t98(v=vs.84)">JScript 3.0+</a>
</ul>
<br>

<hr><h1>Directives</h1><hr>
<table border="0">
   <tr><td><a href="api/Directives.htm#Import">Import</a></td>      <td>: Used to import JavaScript modules with full &amp; shortened-name access.</td></tr>
   <tr><td><a href="api/Directives.htm#ImportAs">ImportAs</a></td>  <td>: Used to import JavaScript modules with aliased shortened-name or full-name access.</td></tr>
   <tr><td><a href="api/Directives.htm#Include">Include</a></td>    <td>: Used to include JavaScript modules with full-name access only.</td></tr>
   <tr><td><a href="api/Directives.htm#Load">Load</a></td>          <td>: Used to load JavaScript modules from a specific location.</td></tr>
   <tr><td><a href="api/Directives.htm#Namespace">Namespace</a></td><td>: Used to define a JavaScript namespace.</td></tr>
</table>

<br>
(See <a href="Ajile-Help.htm">Docs</a> for detailed information, and <a href="../examples/Examples.htm">Examples</a> for usage.)
<br><br><br>

<hr><h1>Functions</h1><hr>
<table border="0">
   <tr><td><a href="api/Functions.htm#Ajile.AddImportListener">Ajile.AddImportListener()</a></td>      <td>: Allows adding an import event listener.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.EnableCloak">Ajile.EnableCloak()</a></td>                  <td>: Toggles on/off source code cloaking.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.EnableDebug">Ajile.EnableDebug()</a></td>                  <td>: Toggles on/off logging of Ajile's debug information.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.EnableLegacy">Ajile.EnableLegacy()</a></td>                <td>: Toggles on/off support for code using legacy releases (i.e. JSPackaging &amp; Ajile 0.5.5 and earlier).</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.EnableOverride">Ajile.EnableOverride()</a></td>            <td>: Toggles on/off silently overriding similarly named modules.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.EnableRefresh">Ajile.EnableRefresh()</a></td>              <td>: Toggles on/off guaranteed refreshing of loaded scripts and imported modules.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.GetVersion">Ajile.GetVersion()</a></td>                    <td>: Retrieves Ajile's version number.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.RemoveImportListener">Ajile.RemoveImportListener()</a></td><td>: Allows removing an import event listener.</td></tr>
   <tr><td>Ajile.SetOption(&lt;option name&gt;, [true|false])</td>                                     <td>: Toggles on/off the specified option (i.e. cloak, debug, legacy, mvc, mvcshare, override, refresh).</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.ShowLog">Ajile.ShowLog()</a></td>                          <td>: Displays Ajile's debug information.</td></tr>
   <tr><td><a href="api/Functions.htm#Ajile.Unload">Ajile.Unload([moduleName|namespace])</a></td>      <td>: Unloads the specified module, namespace, or Ajile and its resources from memory.</td></tr>
</table>

<br>
(See <a href="Ajile-Help.htm">Docs</a> for detailed information, and <a href="../examples/Examples.htm">Examples</a> for usage.)
<br><br><br>

<hr><h1>Load-time Options</h1><hr>
<p>The following options are used to enable/disable Ajile features at load time:</p>
<table border="0">
   <tr><td><a href="api/Options.htm#cloak">cloak</a></td>        <td>: Toggles on/off source code hiding.</td></tr>
   <tr><td><a href="api/Options.htm#debug">debug</a></td>        <td>: Toggles on/off logging of Ajile's debug information.</td></tr>
   <tr><td><a href="api/Options.htm#legacy">legacy</a></td>      <td>: Toggles on/off support for code using legacy releases (i.e. JSPackaging &amp; Ajile 0.5.5 and earlier).</td></tr>
   <tr><td><a href="api/Options.htm#mvc">mvc</a></td>            <td>: Toggles on/off the auto-loading of a page's control module.</td></tr>
   <tr><td><a href="api/Options.htm#mvcshare">mvcshare</a></td>  <td>: Toggles on/off the auto-loading of a site's shared control module.</td></tr>
   <tr><td><a href="api/Options.htm#override">override</a></td>  <td>: Toggles on/off silently overriding similarly named modules.</td></tr>
   <tr><td><a href="api/Options.htm#refresh">refresh</a></td>    <td>: Toggles on/off guaranteed refreshing of loaded scripts and imported modules.</td></tr>
</table>

<br>
(See <a href="Ajile-Help.htm">Docs</a> for detailed information, and <a href="../examples/Examples.htm">Examples</a> for usage.)
<br><br><br>

<hr><h1>Thanks</h1><hr>
Thanks for using Ajile. Feel free to <a href="http://help.ajile.net/messages/" target="_top">post questions, suggestions or information</a> about
how you're using it within other applications, libraries or other creations.
Special thanks to those who've given feedback and helped troubleshoot, including
<a href="http://tech.groups.yahoo.com/group/ajile/message/111">andrea</a>,
<a href="http://tech.groups.yahoo.com/group/ajile/message/9">cameron</a>,
<a href="http://tech.groups.yahoo.com/group/ajile/message/136">danny</a>.
<a href="http://tech.groups.yahoo.com/group/ajile/message/90">levani</a>,
<a href="http://tech.groups.yahoo.com/group/ajile/message/166">mark</a>,
<a href="http://www.phpied.com/javascript-include#comment-9005/">samir</a>, and
<a href="/blog/2006/06/ajile-05-released.html">thomas</a>.
<br><br>

                                                                       - Michael
<p><a id="lnkSFLogo" href="http://sourceforge.net/projects/ajile/"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=149163&amp;type=1" border="0" alt="SourceForge.net Logo" title="Ajile @ SourceForge" /></a></p>
</body>
</html>